You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Add scout-issue skill: find and rank GitHub issues to contribute to 🤖🤖🤖 - #6243
Adds skills/scout-issue/, a skill that helps a developer find the best GitHub issues to contribute to in a repository. Triggered by /scout, it:
Interviews the user about experience level, languages/frameworks, available time, contribution type, difficulty, and constraints
Inspects the repo and pulls candidate issues with the GitHub CLI (with graceful fallbacks when gh is missing, unauthenticated, or rate-limited)
Scores each candidate on eight weighted dimensions (user fit, technical fit, scope, difficulty, issue quality, activity, feasibility, evidence quality)
Presents a ranked shortlist with explicit evidence, concerns, and confidence
It also supports investigation mode ("Investigate #123") and implementation planning ("Plan this issue"). The skill is read-only by default, separates evidence from inference, and never ranks by title match alone or trusts good first issue labels without checking the issue and surrounding code.
What's bundled
SKILL.md — the concise four-phase pipeline, eligibility gates, and rules
references/ — interview guide, scoring rubric, workflow walkthrough, GitHub CLI/git patterns, investigation and planning templates, recovery fallbacks, and a quick reference
examples/ — worked scenarios: first contribution, weekend project, deep investigation, portfolio contribution, no good matches, and a real cli/cli run
scripts/validate-skill.sh — consistency check (structure, headings, command paths and flags, reference sync, per-fixture negative checks, and a nonzero sync-failure regression)
Every bundled asset is referenced from SKILL.md.
Real-issue run
examples/copilot-run.md captures a concise run against cli/cli on 2026-11-06. It shows the issue-only candidate pool, the eligibility screen, why #14647 was excluded because open PR #14689 already competed for it, and how the final ranking was re-checked against assignments, linked PRs, code locations, and activity.
Validation
npm run skill:validate — passes (all skills valid)
npm run build — regenerated docs/README.skills.md
bash eng/fix-line-endings.sh — run
bash skills/scout-issue/scripts/validate-skill.sh — passes from the skill folder
Notes
The skill name is scout-issue (matching the folder and source project); the trigger command remains /scout.
The main SKILL.md was shortened from 559 to 271 lines by moving interview, investigation/planning templates, and recovery guidance into referenced material.
Adds the scout-issue skill (/scout), which interviews a developer about
experience level, skills, available time, and contribution type, then
searches a repository's GitHub issues, scores candidates against a
weighted rubric, and presents a ranked, evidence-backed shortlist.
Bundles the reference docs (scoring rubric, workflow, CLI patterns,
quick reference), worked examples, a consistency-check script, and a
small launcher that prints SKILL.md.
Risk tier:merge-risk:high — Privileged execution, automation, or review-policy change Required to merge: passing submission-gate checks plus 1 approval from reviewers with write access, including a maintainer with admin or maintain permission.
Why this tier
skills/scout-issue/scripts/validate-skill.sh is a high-risk path (automation, scripts, MCP config, hooks, or review policy)
Label needs-review:HIGH flags a high contributor-risk signal
✓ [spec-compliance] All 1 skill(s) are spec-compliant.
ℹ️
✓ spec-compliance: All spec checks passed.
ℹ️
✓ [valid-refs] All file references across 1 skill(s) are valid.
ℹ️
✓ valid-refs: All file references resolve to existing files within the skill directory.
ℹ️
1 skill(s) linted, 1 passed
Full linter output
### Linting skills/scout-issue
✅ scout-issue (2/2 checks passed)
✓ [spec-compliance] All 1 skill(s) are spec-compliant.
✓ spec-compliance: All spec checks passed.
✓ [valid-refs] All file references across 1 skill(s) are valid.
✓ valid-refs: All file references resolve to existing files within the skill directory.
1 skill(s) linted, 1 passed
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Unsupported GitHub CLI flags, unreliable candidate filtering, and shortcuts that bypass required checks can cause discovery failures and unsuitable recommendations, while the validator fails to catch invalid commands.
Adds scout-issue to the repository’s skill collection to help developers discover, evaluate, and rank GitHub issues suited to their experience and available time.
Changes:
Defines issue discovery, weighted ranking, investigation, and implementation-planning workflows.
Bundles scoring guidance, command references, worked examples, and a consistency-check script.
Registers the skill in the generated catalog and preserves its Apache-2.0 license.
File
Description
skills/scout-issue/SKILL.md
Defines the workflow, output formats, and fallback behavior.
skills/scout-issue/scripts/validate-skill.sh
Checks structure, headings, commands, and reference consistency.
skills/scout-issue/references/workflow.md
Details discovery, filtering, investigation, and ranking.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
Incorrect search scoping, eligibility filters, and pagination can produce unsuitable issue recommendations, while validator gaps allow documented errors to pass undetected.
GitHub's repository open_issues_count includes open pull requests as well as issues. Using it as the “from M open issues” figure overstates the search population; for example, a repository with one issue and many PRs will report all of them as issues. Query an issue-only count instead.
Reference-sync failures are counted as expected negative-fixture failures because fixture_errors is calculated after the sync loop. With otherwise valid docs, a sync failure therefore prints an error but still exits zero and reports success. Snapshot the fixture count immediately after checking the negative fixtures, before the guard and sync checks.
The reason will be displayed to describe this comment to others. Learn more.
Thanks for adding a focused contribution-discovery workflow. A few concrete fixes are needed:
In SKILL.md:184, gh search issues does not support --page. Please use working REST pagination, filter out pull requests, and correct the claimed open-issue total at lines 162–164: open_issues_count includes PRs.
In scripts/validate-skill.sh:187–188, reference-sync failures are included in fixture_errors and subtracted from the real error count. Capture expected fixture failures before the sync checks, assert each negative fixture independently, and add a regression case proving a sync failure exits nonzero.
SKILL.md:18 references bin/scout.js, but that file is absent. Remove the reference or include the intended asset.
Please shorten the 559-line main skill, retaining the specific scoring/eligibility logic while consolidating the generic interview, evidence rules and investigation/implementation templates into referenced material.
Please also include a concise GitHub Copilot run against real issues showing the candidate pool, why a competing-PR issue was excluded, and how the final ranking was checked. The current validation establishes formatting and internal consistency, not the discovery workflow's behavior.
…skill
- Use an issue-only search count and REST pagination that filters pull requests
- Scope search commands to the repository and make assignment/stale filters conditional
- Assert each negative fixture independently, snapshot fixture errors before sync checks, and add a nonzero sync regression
- Remove the missing bin/scout.js reference
- Move interview, investigation/planning templates, and recovery guidance into references; cut SKILL.md from 559 to 271 lines
- Add examples/copilot-run.md with a real cli/cli run, including a competing-PR exclusion
Describe the label/text searches that expanded the candidate pool and state that code paths were verified through the repository contents API rather than a local checkout.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The pagination rule can skip valid candidates, portfolio weights contradict the documented formula, and the misplaced Git limit can return a file’s entire history.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Unresolved scoring inconsistencies, unsupported eligibility filters, and pagination and Git command errors can change rankings, exclude eligible candidates, and collect incomplete or excessive history.
The reason will be displayed to describe this comment to others. Learn more.
🟡 Changes recommended
The scanner lets invalid flags on backslash-continuation lines pass validation, and the shortlist output omits promised per-issue confidence and verification gaps.
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Human assessment is needed because incomplete linked-PR checks and permissive recovery behavior may allow claimed or unverified work into the ranked recommendations.
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing the earlier workflow issues and adding the real cli/cli run. One invocation detail remains: the skill frontmatter and SKILL.md advertise /scout, but this PR adds only a skill named scout-issue and no prompts/scout.prompt.md or other /scout alias. Please either add a Copilot prompt alias for /scout, or update the trigger and examples to use the supported activation method for this skill so users can reliably start the workflow.
The skill name is the slash command, so /scout was never a valid invocation. Document /scout-issue and the natural-language triggers that activate the skill automatically.
Thanks @aaronpowell — good catch. A skill's name is the slash command, so /scout was never a valid invocation for this skill. This repo also has no prompts/ category, so I went with the supported activation method instead of adding a prompt alias.
Updated in 0f178d6:
Frontmatter now says Invoke with /scout-issue or ask to find good first issues…
SKILL.md, references/quick-reference.md, and references/recovery.md use /scout-issue throughout.
Documented the natural-language triggers that activate the skill automatically (e.g. "Find a beginner-friendly Rust issue I could finish this weekend").
The reason will be displayed to describe this comment to others. Learn more.
🔵 Needs a closer look
Human review is needed to assess validation blind spots and conflicting eligibility and confidence guidance that could undermine the skill’s reliability.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What this adds
Adds
skills/scout-issue/, a skill that helps a developer find the best GitHub issues to contribute to in a repository. Triggered by/scout, it:ghis missing, unauthenticated, or rate-limited)It also supports investigation mode ("Investigate #123") and implementation planning ("Plan this issue"). The skill is read-only by default, separates evidence from inference, and never ranks by title match alone or trusts
good first issuelabels without checking the issue and surrounding code.What's bundled
SKILL.md— the concise four-phase pipeline, eligibility gates, and rulesreferences/— interview guide, scoring rubric, workflow walkthrough, GitHub CLI/git patterns, investigation and planning templates, recovery fallbacks, and a quick referenceexamples/— worked scenarios: first contribution, weekend project, deep investigation, portfolio contribution, no good matches, and a realcli/clirunscripts/validate-skill.sh— consistency check (structure, headings, command paths and flags, reference sync, per-fixture negative checks, and a nonzero sync-failure regression)Every bundled asset is referenced from
SKILL.md.Real-issue run
examples/copilot-run.mdcaptures a concise run againstcli/clion 2026-11-06. It shows the issue-only candidate pool, the eligibility screen, why #14647 was excluded because open PR #14689 already competed for it, and how the final ranking was re-checked against assignments, linked PRs, code locations, and activity.Validation
npm run skill:validate— passes (all skills valid)npm run build— regenerateddocs/README.skills.mdbash eng/fix-line-endings.sh— runbash skills/scout-issue/scripts/validate-skill.sh— passes from the skill folderNotes
scout-issue(matching the folder and source project); the trigger command remains/scout.SKILL.mdwas shortened from 559 to 271 lines by moving interview, investigation/planning templates, and recovery guidance into referenced material.LICENSEis preserved). Submitted by the original author.